Verifying Concurrent Graph Algorithms

نویسندگان

  • Azalea Raad
  • Aquinas Hobor
  • Jules Villard
  • Philippa Gardner
چکیده

We show how to verify four challenging concurrent ne-grained graph-manipulating algorithms, including graph copy, a speculativelyparallel Dijkstra and spanning tree. We develop a method of reasoning for such algorithms that dynamically tracks the contributions and responsibilities of each thread operating on a graph, even in cases of arbitrary recursive thread creation. We demonstrate how to use abstract reasoning in the style of iCAP without needing to incorporate any associated support in the underlying semantic model of the logic.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Using SPIN to Model Check Concurrent Algorithms, using a translation from C to Promela

This paper addresses the problem of automatically verifying correctness of concurrent algorithms, e.g., as found in concurrent implementations of common data structures, using model checking. In order to use a model checker to analyze programs in, e.g., C, one must first translate programs to the input language of the model checker. Since our aim is to use SPIN, we present an automated translat...

متن کامل

Finite - State Concurrent Systems ?

Temporal logic model checking is an automatic technique for verifying nite-state concurrent systems. Speciications are expressed in a propositional temporal logic, and the concurrent system is modeled as a state-transition graph. An eecient search procedure is used to determine whether or not the state-transition graph sat-isses the speciication. When the technique was rst developed ten years a...

متن کامل

Automatically Verifying Concurrent Queue Algorithms

Concurrent FIFO queues are a common component of concurrent systems. Using a single shared lock to prevent concurrent manipulations of queue contents reduces system concurrency. Therefore, many algorithms were suggested to increase concurrency while maintaining the correctness of queue manipulations. This paper shows how to automatically verify partial correctness of concurrent FIFO queue algor...

متن کامل

Comparison Under Abstraction for Verifying Linearizability

Linearizability is one of the main correctness criteria for implementations of concurrent data structures. A data structure is linearizable if its operations appear to execute atomically. Verifying linearizability of concurrent unbounded linked data structures is a challenging problem because it requires correlating executions that manipulate (unbounded-size) memory states. We present a static ...

متن کامل

ON PROVING PROPERTIES OF CONCURRENT ALGORITHMS FOR DISTRIBUTED CSPs

Because of social, economical and technical reasons, some years ago the classical CSP model has been extended to the model of Distributed Constraint Satisfaction Problems (DCSPs) in which several computational agents try to solve a connected CSP collectively. Many recent systems tackling this problem lack a theoretically founded specification and safety or liveness property proofs. This may be ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016